.page {
  min-height: 100vh;
  background-color: #f5f5f5;
}

.income-card {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  padding: 40rpx;
  color: white;
}

.card-header {
  margin-bottom: 40rpx;
}

.card-title {
  font-size: 32rpx;
  font-weight: bold;
  display: block;
  margin-bottom: 10rpx;
}

.card-subtitle {
  font-size: 24rpx;
  opacity: 0.8;
}

.income-stats {
  display: flex;
  justify-content: space-between;
}

.stat-item {
  text-align: center;
  flex: 1;
}

.stat-value {
  display: block;
  font-size: 36rpx;
  font-weight: bold;
  margin-bottom: 10rpx;
}

.stat-label {
  font-size: 22rpx;
  opacity: 0.8;
}

.filter-tabs {
  display: flex;
  background-color: white;
  padding: 20rpx;
  border-bottom: 1px solid #f0f0f0;
}

.tab-item {
  flex: 1;
  text-align: center;
  padding: 15rpx 10rpx;
  font-size: 24rpx;
  color: #666;
  border-radius: 12rpx;
  transition: all 0.3s;
  
  &.active {
    color: #1890ff;
    background-color: #e6f7ff;
    font-weight: bold;
  }
}

.income-list {
  background-color: white;
  min-height: 60vh;
}

.list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30rpx 40rpx;
  border-bottom: 1px solid #f5f5f5;
  
  &:last-child {
    border-bottom: none;
  }
}

.item-left {
  display: flex;
  align-items: center;
  flex: 1;
}

.income-icon {
  width: 80rpx;
  height: 80rpx;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20rpx;
  color: white;
  
  &.see-order {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  }
  
  &.level-bonus {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  }
  
  &.direct-bonus {
    background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
  }
  
  &.dividend {
    background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  }
  
  &.other {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  }
}

.income-info {
  flex: 1;
}

.income-title {
  font-size: 28rpx;
  color: #333;
  font-weight: bold;
  margin-bottom: 10rpx;
}

.income-source {
  font-size: 24rpx;
  color: #666;
  margin-bottom: 8rpx;
}

.income-condition {
  font-size: 22rpx;
  color: #fa8c16;
  margin-bottom: 8rpx;
  background-color: #fff7e6;
  padding: 4rpx 8rpx;
  border-radius: 6rpx;
  display: inline-block;
}

.income-time {
  font-size: 22rpx;
  color: #999;
}

.item-right {
  text-align: right;
}

.income-amount {
  font-size: 32rpx;
  font-weight: bold;
  margin-bottom: 8rpx;
  
  &.success {
    color: #52c41a;
  }
  
  &.pending {
    color: #fa8c16;
  }
}

.frozen-amount {
  font-size: 22rpx;
  color: #fa8c16;
  margin-left: 10rpx;
  font-weight: normal;
}

.income-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8rpx;
}

.unfreeze-countdown {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rpx;
}

.countdown-text {
  font-size: 20rpx;
  color: #E23737;
}

.unfreeze-actions {
  display: flex;
  align-items: center;
}

.status-text {
  font-size: 22rpx;
  padding: 6rpx 12rpx;
  border-radius: 8rpx;
  
  &.success {
    background-color: #f6ffed;
    color: #52c41a;
  }
  
  &.frozen {
    background-color: #fff7e6;
    color: #fa8c16;
  }
  
  &.invalid {
    background-color: #fff2f0;
    color: #ff4d4f;
  }
  
  &.pending {
    background-color: #f6f6f6;
    color: #666;
  }
}

.load-more {
  padding: 40rpx;
  text-align: center;
}

.empty-state {
  padding: 100rpx 40rpx;
}

.empty-content {
  text-align: center;
}

.empty-title {
  font-size: 36rpx;
  color: #333;
  margin-bottom: 10rpx;
}

.empty-subtitle {
  font-size: 24rpx;
  color: #999;
}
